From: Florian Müllner Date: Fri, 26 Apr 2013 13:48:36 +0000 (+0200) Subject: panel: Add keybinding mode for top bar popups and use it X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4275 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=4a5ff5dcfb0537c7231210665580896226bf9da6;p=gnome-shell.git panel: Add keybinding mode for top bar popups and use it Allow some keybindings to still work while a top bar menu is open by assigning it a keybinding mode. https://bugzilla.gnome.org/show_bug.cgi?id=698938 --- diff --git a/js/ui/panel.js b/js/ui/panel.js index 332be12b1..dd558af5f 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -958,7 +958,7 @@ const Panel = new Lang.Class({ this.statusArea = {}; - this.menuManager = new PopupMenu.PopupMenuManager(this); + this.menuManager = new PopupMenu.PopupMenuManager(this, { keybindingMode: Shell.KeyBindingMode.TOPBAR_POPUP }); this._leftBox = new St.BoxLayout({ name: 'panelLeft' }); this.actor.add_actor(this._leftBox); diff --git a/src/shell-keybinding-modes.h b/src/shell-keybinding-modes.h index c9ba8dab9..bc0b9b32b 100644 --- a/src/shell-keybinding-modes.h +++ b/src/shell-keybinding-modes.h @@ -15,6 +15,8 @@ * @SHELL_KEYBINDING_MODE_SYSTEM_MODAL: allow keybinding when a system modal * dialog (e.g. authentification or session dialogs) is open * @SHELL_KEYBINDING_MODE_LOOKING_GLASS: allow keybinding in looking glass + * @SHELL_KEYBINDING_MODE_TOPBAR_POPUP: allow keybinding while a top bar menu + * is open * @SHELL_KEYBINDING_MODE_ALL: always allow keybinding * * Controls in which GNOME Shell states a keybinding should be handled. @@ -29,6 +31,7 @@ typedef enum { SHELL_KEYBINDING_MODE_MESSAGE_TRAY = 1 << 5, SHELL_KEYBINDING_MODE_SYSTEM_MODAL = 1 << 6, SHELL_KEYBINDING_MODE_LOOKING_GLASS = 1 << 7, + SHELL_KEYBINDING_MODE_TOPBAR_POPUP = 1 << 8, SHELL_KEYBINDING_MODE_ALL = ~0, } ShellKeyBindingMode;